package org.papiez.guice.extension.dsl;

import com.google.inject.Key;
import com.google.inject.TypeLiteral;
import com.google.inject.binder.LinkedBindingBuilder;

public interface DecorationAwareLinkedBindingBuilder<T> extends
		LinkedBindingBuilder<T> {

	@Override
	ScopedBindingBuilderWithDecoration<T> to(
			Class<? extends T> implementationClass);

	@Override
	ScopedBindingBuilderWithDecoration<T> to(
			TypeLiteral<? extends T> implementationTypeLiteral);

	@Override
	ScopedBindingBuilderWithDecoration<T> to(Key<? extends T> implementationKey);
}
